package ch06.ith_5;

import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class RegexDemo {
    public static void main(String[] args) {

        demo01();
        demo02();
    }

    private static  void demo02(){
        String regex ="1[3578]\\d{9}";//手机号的正则表达式
        String s = "我的手机号是18625795092,15356230379，18625730537";
        Pattern p = Pattern.compile(regex);
        //boolean find() 尝试查找与 改模式匹配的输入序列的下一个子序列
        Matcher m = p.matcher(s);

        /*boolean b = m.find();//拿着正则表达式去跟输入的字符串进行比较，查看是否有符合正则表达式的子字符串

        System.out.println(b);*/
        /*String group()
        返回由以前匹配操作所匹配的输入子序列
        * */
        int i=0;
        String [] strs = new String[100];
        while(m.find()){
            strs [i++] = m.group();
            //System.out.println(m.group());

        }
String phone = m.group();//这个是获取匹配的第一个字符串
        System.out.println(phone);

    }
    private  static void demo01(){
        Pattern p = Pattern.compile("a*b");//获取正则表达式
        /*
         * Matcher matcher(CharSequence input)
         * 创建匹配给定输入玉此模式的匹配器
         * */
        Matcher m = p.matcher("aaaaab");
        //给定一个字符串，返回的是一个匹配器
        //boolean matches（）尝试将整个区域与模式匹配

        boolean b = m.matches();
        //看一下是否匹配，匹配返回 true， 否则返回false
        System.out.println(b);
        System.out.println("aaaaab".matches("a*b"));
        /*
         * 接下来  应用
         * 需求： 从一个字符串中 把 手机号码 取出来
         * */
    }
}
